<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <div id="app">
      <div>
        <span>姓名:</span>
        <input v-model.trim="username" type="text" />
      </div>
      <div>
        <span>年龄:</span>
        <input v-model.number="userage" type="number" />
      </div>
      <div>
        <span>性别:</span>
        <select v-model="gender">
          <option value="男">男</option>
          <option value="女">女</option>
        </select>
      </div>
      <div>
        <button @click="add">添加/修改</button>
      </div>
      <div>
        <table border="1" cellpadding="10" cellspacing="0">
          <tr>
            <th>序号</th>
            <th>姓名</th>
            <th>年龄</th>
            <th>性别</th>
            <th>操作</th>
          </tr>
          <tr v-for="(item,index) in list" :key="item.id">
            <td>{{index+1}}</td>
            <td>{{item.name}}</td>
            <td>{{item.age}}</td>
            <td>{{item.gender}}</td>
            <td>
              <button @click="del(item.id)">删除</button>
              <button @click="change(index)">编辑</button>
            </td>
          </tr>
        </table>
      </div>
    </div>
    <script src="../vue.js"></script>
    <script>
      const app = new Vue({
        el: '#app',
        data: {
          username: '',
          userage: '',
          gender: '男',
          flag: true,
          list: [
            { id: 1, name: 'Tom', age: 19, gender: '男' },
            { id: 2, name: 'Jone', age: 21, gender: '女' }
          ]
        },
        methods: {
          // 添加
          add() {
            if (!this.username || !this.userage)
              return alert('输入的姓名或者年龄不能为空')
            this.list.push({
              id: +new Date(),
              name: this.username,
              age: this.userage,
              gender: this.gender
            })
            ;(this.username = ''), (this.userage = '')
          },
          // 删除
          del(id) {
            this.list = this.list.filter(item => item.id !== id)
          },
          // 编辑
          change(index) {
            if (this.flag) {
              this.username = this.list[index].name
              this.userage = this.list[index].age
              this.gender = this.list[index].gender
              // return (this.flag = false)
            }
            // else {
            //   this.username = this.list[index].name
            //   this.userage = this.list[index].age
            //   this.gender = this.list[index].gender
            //   // this.list[index].username = this.username
            //   // this.list[index].userage = this.userage
            //   // this.list[index].gender = this.gender
            //   return (this.flag = true)
            // }
          }
          // gaibian() {}
        }
      })
    </script>
  </body>
</html>
